// Step1. 引入模块
import Vue from 'vue';
import VueRouter from 'vue-router';

// Step2. 安装路由
Vue.use(VueRouter);


// Step3. 引入路由所映射的组件
// import Login from '@/views/login.vue';

// Step4. 创建路由对象
let router = new VueRouter({

   mode: 'history',  // 改变URL方式

   routes: [

      // 图标Demo
      {
         name: 'demo',
         path: '/demo',
         // component: Login
         component: () => import('@/views/ico-Demo.vue')    // 映射路由
      },

      // 首页
      {
         name: 'index',
         path: '/index',
         component: () => import('@/views/index.vue'),
         meta: { keepAlive: false }
      },
      {
         name: 'index',
         path: '/',
         redirect: { name: 'index' },    // 重定向页面
         meta: { keepAlive: false }
      },
      // 首页 End

      // 登录
      {
         name: 'login',
         path: '/login',
         // component: Login
         component: () => import('@/views/login.vue')    // 映射路由
      },

      // 注册
      {
         name: 'register',
         path: '/register',
         component: () => import('@/views/register.vue')
      },

      // 个人中心
      {
         name: 'personal',
         // path后面的:id为接收的参数
         path: '/personal/:id',
         component: () => import('@/views/personal.vue')
      },

      // 编辑用户信息
      {
         name: 'editUser',
         // path后面的:id为接收的参数
         path: '/editUser/:id',
         component: () => import('@/views/editUser.vue')
      },

      // 新闻详情页面
      {
         name: 'articleDetail',
         path: '/articleDetail/:id',
         component: () => import('@/views/articleDetail.vue'),
         meta: { keepAlive: false }
      },

      // 精彩跟帖
      {
         name: 'comment',
         path: '/comment/:id',
         component: () => import('@/views/comment')
      },

      // 编辑栏目分类
      {
         name: 'editCategory',
         path: '/editCategory',
         component: () => import('@/views/editCategory.vue')
      },

      // 搜索
      {
         name: 'search',
         path: '/search',
         component: () => import('@/views/search.vue')
      },

      // 待定..
   ]
});



// 导航守卫
router.beforeEach((to, from, next) => {
   // 如果访问的是个人中心页面,就检查是否登录
   if (to.path.indexOf('/personal') != -1) {
      let token = localStorage.getItem('token');0
      // 如果登录了,就通过
      // console.log(to.path);

      if (token) {
         next();
      } else {
         // 如果没有登录, 就重定向到登录页面
         next({ name: 'login' });
      }
   } else {

      // console.log(to.path);

      // 如果不是上面的需要验证token的页面,则正常进行
      next();
   }
});


// Step5. 导出路由
export default router;